﻿using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace B.S.DataBase.Production.Domain
{
    /// <summary>
    /// 派工单产品明细
    /// </summary>
    public class DispatchProduct
    {
        /// <summary>
        /// 自动生成序号（UI显示用）
        /// </summary>
        [Key]
        public int 序号 { get; set; } // 1,2,3...自增序列

        /// <summary>
        /// 产品标准名称
        /// </summary>
        public string 产品名称 { get; set; }           // 示例："制动液压助力器"

        /// <summary>
        /// 物料编码（ERP系统编码）
        /// </summary>
        public string 产品编号 { get; set; }           // 如："010060/KTX-YMHJ-OBE"

        /// <summary>
        /// 规格参数组合
        /// </summary>
        public string 规格型号 { get; set; }           // 示例："HRB400E"              

        /// <summary>
        /// 计量单位
        /// </summary>
        public string 单位 { get; set; }               // 如："个/吨"

        /// <summary>
        /// 订单总数量（必填）
        /// </summary>
        public decimal 订单数量 { get; set; }          // 数值型，支持小数

        /// <summary>
        /// 已累计派工数量
        /// </summary>
        public decimal 已派工数量 { get; set; }        // 带颜色标记（已完成/未完成）

        /// <summary>
        /// 本次计划派工数量（必填校验）
        /// </summary>
        public decimal 本次派工数量 { get; set; }      // 支持小数输入

        /// <summary>
        /// 生产工艺流程标识
        /// </summary>
        public string 工艺流程 { get; set; }           // 如："机加工→热处理→装配"

        /// <summary>
        /// 计划开始时间（必填）
        /// </summary>
        public DateTime 计划开工日 { get; set; }       // 如：2025-04-01

        /// <summary>
        /// 计划完成时间（必填且>计划开工日）
        /// </summary>
        public DateTime 交货日期 { get; set; }         // 如：2025-04-15

        /// <summary>
        /// 生产批次号
        /// </summary>
        public string 批号 { get; set; }               // 如："B20250401-001"

        /// <summary>
        /// 行项目备注
        /// </summary>
        public string 明细备注 { get; set; }
    }
}
